-
Notifications
You must be signed in to change notification settings - Fork 778
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[21519] Fix issue with exclusive ownership and unordered samples #5182
Conversation
eafd07d
to
fbaad04
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just a NIT.
Alternatively, we may have chosen to do the check when adding the change to the instance instead of "waiting" for the user to perform a read/take to do the cleanup, but it should be equivalent.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
b13d1de
to
ac54175
Compare
@Mario-DL I have rebased this one, and also refactored both the test (I added a second one) and the fix (remove when adding). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fine rework overall ! Leaving a question in the code and other one that comes to me.
If I understood correctly, the changes may affect also to a reader with a sufficiently big keep_last history (e.g 20 or 40).
If that's the case, would it be useful to include an analogous test with that history kind just to check ?
NIT |
Signed-off-by: Miguel Company <miguelcompany@eprosima.com>
Signed-off-by: Miguel Company <miguelcompany@eprosima.com>
Signed-off-by: Miguel Company <miguelcompany@eprosima.com>
b66a8c1
to
b886d86
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
@Mergifyio backport 2.14.x 2.10.x |
✅ Backports have been created
|
* Refs #20866. Regression test. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #20866. Additional regression test. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #20866. Fix issue. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #20866. Fix unit tests. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #20866. Refactor test to run several cases. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> --------- Signed-off-by: Miguel Company <miguelcompany@eprosima.com> (cherry picked from commit b1a7fe2) # Conflicts: # test/unittest/dds/subscriber/DataReaderHistoryTests.cpp
* Refs #20866. Regression test. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #20866. Additional regression test. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #20866. Fix issue. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #20866. Fix unit tests. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #20866. Refactor test to run several cases. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> --------- Signed-off-by: Miguel Company <miguelcompany@eprosima.com> (cherry picked from commit b1a7fe2) # Conflicts: # test/unittest/dds/subscriber/DataReaderHistoryTests.cpp
* Refs #20866. Regression test. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #20866. Additional regression test. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #20866. Fix issue. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #20866. Fix unit tests. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #20866. Refactor test to run several cases. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> --------- Signed-off-by: Miguel Company <miguelcompany@eprosima.com> (cherry picked from commit b1a7fe2) Signed-off-by: JesusPoderoso <jesuspoderoso@eprosima.com> # Conflicts: # test/unittest/dds/subscriber/DataReaderHistoryTests.cpp
* Refs #20866. Regression test. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #20866. Additional regression test. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #20866. Fix issue. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #20866. Fix unit tests. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #20866. Refactor test to run several cases. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> --------- Signed-off-by: Miguel Company <miguelcompany@eprosima.com> (cherry picked from commit b1a7fe2) Signed-off-by: JesusPoderoso <jesuspoderoso@eprosima.com> # Conflicts: # test/unittest/dds/subscriber/DataReaderHistoryTests.cpp
* Refs #20866. Regression test. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #20866. Additional regression test. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #20866. Fix issue. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #20866. Fix unit tests. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #20866. Refactor test to run several cases. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> --------- Signed-off-by: Miguel Company <miguelcompany@eprosima.com> (cherry picked from commit b1a7fe2) Signed-off-by: JesusPoderoso <jesuspoderoso@eprosima.com> # Conflicts: # test/unittest/dds/subscriber/DataReaderHistoryTests.cpp
* Refs #20866. Regression test. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #20866. Additional regression test. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #20866. Fix issue. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #20866. Fix unit tests. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #20866. Refactor test to run several cases. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> --------- Signed-off-by: Miguel Company <miguelcompany@eprosima.com> (cherry picked from commit b1a7fe2) Signed-off-by: JesusPoderoso <jesuspoderoso@eprosima.com> # Conflicts: # test/unittest/dds/subscriber/DataReaderHistoryTests.cpp
* Refs #20866. Regression test. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #20866. Additional regression test. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #20866. Fix issue. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #20866. Fix unit tests. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #20866. Refactor test to run several cases. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> --------- Signed-off-by: Miguel Company <miguelcompany@eprosima.com> (cherry picked from commit b1a7fe2) Signed-off-by: JesusPoderoso <jesuspoderoso@eprosima.com> # Conflicts: # test/unittest/dds/subscriber/DataReaderHistoryTests.cpp
* Refs #20866. Regression test. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #20866. Additional regression test. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #20866. Fix issue. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #20866. Fix unit tests. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #20866. Refactor test to run several cases. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> --------- Signed-off-by: Miguel Company <miguelcompany@eprosima.com> (cherry picked from commit b1a7fe2) Signed-off-by: JesusPoderoso <jesuspoderoso@eprosima.com> # Conflicts: # test/unittest/dds/subscriber/DataReaderHistoryTests.cpp
* Refs #20866. Regression test. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #20866. Additional regression test. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #20866. Fix issue. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #20866. Fix unit tests. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #20866. Refactor test to run several cases. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> --------- Signed-off-by: Miguel Company <miguelcompany@eprosima.com> (cherry picked from commit b1a7fe2) Signed-off-by: JesusPoderoso <jesuspoderoso@eprosima.com> # Conflicts: # test/unittest/dds/subscriber/DataReaderHistoryTests.cpp Co-authored-by: Miguel Company <miguelcompany@eprosima.com>
* Refs #20866. Regression test. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #20866. Additional regression test. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #20866. Fix issue. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #20866. Fix unit tests. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> * Refs #20866. Refactor test to run several cases. Signed-off-by: Miguel Company <miguelcompany@eprosima.com> --------- Signed-off-by: Miguel Company <miguelcompany@eprosima.com> (cherry picked from commit b1a7fe2) Signed-off-by: JesusPoderoso <jesuspoderoso@eprosima.com> # Conflicts: # test/unittest/dds/subscriber/DataReaderHistoryTests.cpp Co-authored-by: Miguel Company <miguelcompany@eprosima.com>
Description
During interoperability testing, some flakiness on Test_Ownership_3 unveiled that a reader with exclusive ownership and a
KEEP_ALL
history may return a mix of samples from writers with different strengths.This PR adds a regression test and fixes the issue by removing inappropriate samples during the take operation.
@Mergifyio backport 2.14.x 2.10.x
Contributor Checklist
versions.md
file (if applicable).Reviewer Checklist